[ Пред. ] [ Содержание ] [ След. ]

Как сделать Python-проект в Sublime

[ @sublime @python ]

 


Сделать каталог для проекта


заодно внутри можно сходу сделать первый файл. Из озорства назовём проект “basics”.


Одной командой:


mkdir -p basics/ && touch $_/basics.py


Сделать проект


В Sublime своё определение «проекта» — это просто список файлов, объединённых какой-то логикой. Они могут, как это обычно бывает, находиться в одном каталоге на hdd, а могут в разных.


На диске проект сублима (можно называть его «саблайм», но мне привычнее воспринимать это слово на румынский манер) выглядит как отдельный файл с расширением “.sublime-project”. Он ценен и тем, что в нём перечислен список файлов, которые относятся к какой-то теме, и тем, что в нём можно для каждого «проекта» указывать отдельные настройки, например, прописать путь до интерпретатора Python в virtualenv.


В Sublime:



Настроить проект


И если открыть в редакторе этот *.sublime-project, то можно наколотить всякого нужного, например:


{
	"folders":
	[
		{    // следовать по симв. ссылкам
			"follow_symlinks": true, 

			// путь к проекту от текущего файла
		   "path": ".", 
		}
	],
	"settings":
	{
		// точный путь до определенного интерпретатора
		"python_interpreter": "/usr/bin/python3.9",
	}
}

Настройка консоли


По-умолчанию дежурный запуск скриптов на Python делается во встроенной консольке через Ctrl+B. Годно, если надо просто что-то выполнить, и нет, если подразумевается интерактивность со стороны юзера.


Ctrl+Shift+P 
> Package Control: Install Package 
> Terminus

Затем сохранить в каталог с пакетами ( ~/.config/sublime-text/Packages/User/ ) новый файл [[https://gist.github.com/OdatNurd/2aeb8f753a053d9b927a8f125a8e456d|close_terminal.py]> — это плагин для тонкой обработки будущих окон терминала. В частности, он будет при каждом билде скрипта в разработке держать фокус на окне со скриптом и фокус только на одном окне терминала, чтобы не открывалось новое при каждом нажатии Ctrl+B.


Tools 
> Build System 
> New Build System

Откроется пустой файл настроек.


{
	"target": "terminus_open",
	"auto_close": false,
	"title": "Output",
	"cancel": "terminus_cancel_build",
	"pre_window_hooks":
		[
			["windows_focus", {"store": true}],
			["close_terminus_view_by_title", {"title": "Output"}],
			["windows_focus", {"store": false}],
		],
	"post_window_hooks":
		[
			["carry_file_to_pane", {"direction": "right"}],
			["windows_focus", {"store": false}],
		],
	"shell_cmd": "/usr/bin/python3 -u \"$file\"",
	"file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
	"selector": "source.python",
	"env": {"PYTHONIOENCODING": "utf-8"},
	"variants":
	[
		{
			"name": "Syntax Check",
			"shell_cmd": "/usr/bin/python3 -m py_compile \"${file}\"",
		}
	]
}

Путь /usr/bin/python3 общий. Можно задать любое направление к другим версиям Python, буде таковая необходимость соизволит явиться.


Под виндой, соответственно, в shell_cmd надо указать путь к python.exe, и делать это надо чуть заковыристо, через двойные косые: «shell_cmd»:


D:\\.python_venvs\\general_python\\Scripts\\python.exe -u \"$file\"


Ctrl+S > дать новому файлу sublime-build имя вроде ’BuildPython.sublime-build’ и дважды убедиться в том, что он сохраняется в /~/.config/sublime-text/Packages/User/


Tools 
> Build System 
> выбрать ’BuildPython‘

Больше эту настройку можно не трогать. Теперь общий хоткей Ctrl+B вызовет консоль Terminus справа от окна с кодом и в ней выполнит код по заветам прописанного интерпретатора Python.


Перевод фокуса с одной панели на другую с клавиатуры через Ctrl+1 и Ctrl+2 — если на экране две панели (их можно понаоткрывать бесчетно).